ระบบ RubyGems ของระบบคือคำตอบของรูบีต่อปัญหาความวุ่นวายเรียกว่า "ภาวะกังวลเรื่องขึ้นอยู่กับสิ่งอื่น" ในการบริหารจัดการไลบรารีแบบดั้งเดิม แทนที่จะเขียนทับไฟล์ในไดเรกทอรีสาธารณะทั่วไป ระบบ RubyGems ใช้แนวทาง การแยกโครงสร้าง.
1. อาคมการทำงานเวลาทำงาน (Runtime Magic)
แตกต่างจากไลบรารีมาตรฐาน แต่ละเวอร์ชันของจิม (Gem) จะอยู่ในไดเรกทอรีเฉพาะตัวที่แยกจากกันอย่างสมบูรณ์ เมื่อคุณเรียกใช้ gem 'ชื่อ', 'เวอร์ชัน'ระบบ RubyGems จะทำ "อาคมการทำงานเวลาทำงาน": มันจะเพิ่มไดเรกทอรีของจิมนี้โดยเฉพาะให้กับอาร์เรย์โลกที่ชื่อว่า lib โฟลเดอร์เข้าไปใน $LOAD_PATH อาร์เรย์โลก.
2. การแก้ไขปัญหาและคลังข้อมูล
ถึงแม้ว่าการติดตั้ง การติดตั้งแบบท้องถิ่น อาจล้มเหลวหากมีสิ่งที่ต้องพึ่งพาขาดหายไป การติดตั้งจากระยะไกล (โดยใช้ --remote) จะดึงข้อมูลลำดับความสัมพันธ์ทั้งหมดจากคลังข้อมูลหลักโดยอัตโนมัติ ซึ่งแน่ใจว่า ข้อจำกัดเวอร์ชัน ถูกปฏิบัติตามก่อนที่การดำเนินการจะเริ่มต้น